home *** CD-ROM | disk | FTP | other *** search
- Readme del ZXAM Spectrum Emulator v1.6b
- ---------------------------------------
-
- Lo que tienes delante es un emulador del entrañable Sinclair ZX Spectrum
- 48k. Necesita chips AGA, WB 3.0+ y 68020+ (WB 2.04+, 68020+ y cualquier tipo de
- chips en la versión OCS/ECS). Lee el ZXAM_Spectrum.DOCesp para información más
- detallada.
-
- Este programa es SHAREWARE. Esto sigifica que tienes un mes de tiempo para
- probarlo, y si te gusta deberás mandar 15 US$ (unas 2000 pts) al autor. A
- cambio recibirás la última versión (probablemente la versión 128k). Esta
- versión SHAREWARE puede circular libremente siempre que se incluyan todos los
- ficheros asociados al programa. Está prohibido utilizar el programa para fines
- comerciales, o sea que solo se pueden cargar los gastos normales de copia y
- envio que se cargan habitualmente en las librerias de Dominio Público. También
- puedes meterlo en BBS o incluirlo en discos de revista.
-
- Para contactar con el autor:
-
- Correo normal:
- Antonio J. Pomar Rosselló
- C/ Alférez Cerdá nº 13-bajos
- Palma de Mallorca 07014
- Baleares (España)
-
- BBS:
- Déjame el mensaje a nombre de TONIACE en TANIT BBS-IBIZA (971-392829)
-
- FidoNet:
- Toni Pomar (2:343/119.80)
- AmigaNet:
- Toni Pomar (39:190/1.80)
- InterNet:
- tpomar@penedes.mazanet.encomix.com
-
- A partir de este punto el texto contiene una serie de añadidos que se han
- ido acumulando a partir de la versión 1.3 ß del emulador. Es como una especie
- de Historia del desarrollo del emulador pero referente a las versiones
- distribuidas y que explica el 'por que' de algunas cosas.
-
-
- >>>>>>>>>>>>>>> AÑADIDO PARA VERSION 1.3 ß <<<<<<<<<<<<<<<<<<
-
- UNA DE INDIOS...
-
- Mis duras investigaciones me han llevado a conseguir un gran logro nunca
- alcanzado en la historia de la informática, que es: Poder almacenar y recuperar
- datos binarios ¡en simples cintas de audio! (del standard "compact cassette").
- A esta nueva tecnologia de almacenamiento la llamo "slow-ish
- semi-retrievable audio FSK data stream", que se traduce como "chorro
- lentorrillo semirrecuperable y audible de datos transformados en pitidos y
- chirridos". Para hacer este avance tecnológico accesible al grán público he
- decidido distribuir la versión 1.3 ß del emulador de Spectrum con esta
- posibilidad incorporada. Nunca más te verás forzado a usar los ultrarápidos
- discos duros (puaj!) o las rápidas disqueteras (aarg!). Ahora ya puedes
- cargar un juego de forma que te dé tiempo de ir al baño mientras se carga,
- o leer el Quijote, o, simplemente, envejecer decrépitamente ante la pantalla.
-
- Como todos los grandes descubrimientos de la humanidad, estoy seguro de que
- alguien hará un uso incorrecto de mi descubrimiento (como ya lo
- intentaron con mi consola WOPR, alias "Joshua", compatible con NES), pero
- apelo al poco de conciencia que te queda para que desistas de hacerlo. Ten en
- cuenta que la tecnologia que tienes en tus manos puede decidir el destino del
- mundo (como la WOPR :-)....
-
-
-
-
- VA DE VERAS
-
- El motivo principal para la circulación de esta versión es (como explico
- arriba ;-) la incorporación de la posibilidad de LOAD y SAVE a cinta. Aunque
- estas opciones funcionan bién, esta versión del emulador ha sido distribuida
- por la demanda popular de la carga desde cinta, pero no es una versión
- definitiva debido a que el emulador contiene además unos ensayos de
- estabilización de velocidad para ordenadores sobrados de potencia (que no es mi
- caso!). En cuanto la tenga lista haré circular una versión mucho más definitiva
- con un sistema de estabilización de velocidad mucho más preciso que el que
- incluye la versión 1.3 ß. Los aspectos modificados respecto a la versión 1.2 ß
- son:
-
-
-
- LOAD DE CINTA: ¿Significa esto que puedo pasar a disco mi colección de juegos?
- Pues... solo si usa la rutina de carga de la ROM, o sea, ni Turbos ni programas
- con cargadores extraños (como el Commando, el Deflektor, etc..). La rutina de
- carga que incorpora el emulador es un hábil "parchecillo" de la rutina de
- carga de la ROM, a la que no substituye totalmente si no solo en sus
- secciones más críticas. Un 90% del código que se ejecuta al cargar de cinta
- es el original de la ROM del Spectrum. Debido a esto, se comporta como si de
- un Spectrum se tratara, o sea, puedes hacer BREAK con el espacio y verás como
- cargan los pixels de las pantallas y los atributos (que hacian ese MEEEEEC
- tan característico [snif...] ). El FLASH sigue funcionando durante la carga,
- también. Y todo esto funciona perfectamente incluso en un A1200 sin FAST y en
- modo COLOR!!.
-
- Las LIMITACIONES del parche son:
-
- -Las rayas del borde no son perfectas, pero casi, debido a interferencias
- entre la CPU y la copperlist. Sería posible hacerlo perfecto, pero
- supondria más trabajo para la CPU, que ya está en sus límites, y, en
- consecuencia, ralentizaria ligeramente el emulador. Creo que para ver
- mejor la rayitas de carga no vale la pena ralentizar el emulador.
-
- -El sonido de la cinta solo se oye DURANTE LA CARGA, no al buscar la
- cabecera del programa. Esto significa que tendrás que buscar el
- principio del programa desconectando el cassette del ordenador, para
- conectarlo cuando hayas encontrado la cabecera. Emular desde software el
- puente que tenia el Hardware del Spectrum entre las tomas MIC y EAR es
- demasiado desperdicio de potencia para algo que solo vas a usar cuando
- cargues desde cinta. Piensa que, aunque el emulador puede cargar y
- grabar con cinta AUN puede cargar/grabar programas en disco...
-
- -NECESITA INTERFACE PROPIO: Aunque yo no considero que ésto sea una
- limitación, ya que el interface que he diseñado es MUCHO más barato y
- práctico que un sampleador. Este interface se conecta al puerto del
- Joystick, y se puede poner y quitar con el ordenador en marcha. Junto
- con el emulador encontrarás una pantalla que describe el interface. Los
- 2 (si DOS!) componentes del interface están ahí simplemente para que el
- ordenador no se estropee si le subes demasiado el volumen al cassette.
- Como verás, el interface es tan simple que "da asco verlo". Lo he
- diseñado así por que se supone que no lo usarás constantemente, pero
- si quieres tenerlo conectado siempre puedes ponerle una conexión de paso
- (un macho DB-9) a la salida para tener al mismo tiempo el cassette y el
- joystick conectados. Además, con este interface puedes dejar la
- impresora permanentemente conectada, no como con el sampler.
-
- -Al ser un parche de la rutina de la ROM, solo cargarán programas que
- usen dicha rutina. O sea, olvidate de los Turbos (de momento...;-).
-
- -En sistemas de "potencia moderada" (como el mio) no conviene toquetear
- mucho el teclado mientras cargas, a menos que quieras hacer BREAK, por
- que cada pulsación de tecla produce una interrupción, que desestabiliza
- la carga y puede provocar errores.
-
- LLegados a este punto debo confesar que la fiabilidad del parche es mucho
- mayor de lo que yo tenia previsto en un principio. Durante las pruebas, conecté
- la entrada de audio del emulador al cassette incorporado en mi Spectrum +2A, e
- intentaba cargar al mismo tiempo el mismo programa en el +2A y en el 1200. Mi
- intención era encontrar algún programa que el +2A cargara pero el 1200 no, para
- ajustar las temporizaciones del parche. Mi sorpresa fué mayúscula al comprobar
- que el que no cargaba correctamente todos los programas era el +2A, mientras
- que el 1200 se tragaba perfectamente lo que le echaran. ¡Es de las pocas veces
- que pruebo algo nuevo y funciona a la primera!. En total he pasado 83 programas
- a disco durante las pruebas (algunos de éstos no habian querido cargar con el
- Spectrum Emulator v1.7 ;-)
-
-
-
- SAVE HACIA CINTA: Bueno... este ha sido muy fácil. Ni siquiera es un parche, ya
- que es el código Z80 de la ROM la que lo hace todo. Lo unico que yo he hecho ha
- sido "frenar" la rutina Z80 para que no corriera demasiado. Lo mismo que se
- especifica en LOAD respecto al teclado y al borde se puede aplicar al SAVE. Los
- datos grabados por el emulador han sido cargados sin problemas por el propio
- emulador y por mi ZX Spectrum +2A.
-
-
-
- SONIDO: El emulador incorpora un estabilizador "experimental" de sonido. Con
- este estabilizador ha sido posible el SAVE en tiempo real (puro Z80), aparte de
- que el BEEP es ahora también tiempo real, y la música de muchos juegos ha
- mejorado muchísimo (como los de ULTIMATE). Sin embargo, otros juegos han
- empeorado un poco (como el 3 Weeks in Paradise), o se han ralentizado
- ligeramente (un 3% aprox). De todas formas, este "estabilizador" no es más que
- experimental. Espero poner a punto uno mucho más preciso.
-
-
- >>>>>>>>>>>>>>> AÑADIDO PARA VERSION 1.3b ß <<<<<<<<<<<<<<<<<<
-
- Esta versión era en realidad el principio de la 1.4 ß, pero recibí una
- carta-disco de un usuario pidiéndome la última versión (solo habia visto la
- horrible versión 1.2 ß en la party de Cádiz, ¡¡Y yo voy y me la pierdo!!). Por
- esta razón decidí coger el emulador tal y como estaba y montarlo en el paquete
- de distribución (¡no podia mandarle la versión 1.3 ß por que no era la mejor!).
- Para los que tengan la versión 1.3 ß esta versión es una pequeña mejora en la
- velocidad de algunos juegos, además de incluir un transfer para pasar a cinta
- los juegos que tienes en disco y poder cargarlos así en un Spectrum real. Para
- los que tengan la versión 1.2 ß, les aconsejo que la borren AHORA y la
- substituyan por la 1.3b ß (¡ESTA!).
-
- En el periodo del 1-Agosto-94 al 20-Agosto-94 no he modificado el emulador
- por que en ese periodo he estado "enganchado" a un modem que me habia dejado un
- amigo, y no he tocado el emulador para nada. Dentro de poco tendré mi propio
- modem y daré caña por la FidoNET.
-
-
- >>>>>>>>>>>>>>> AÑADIDO PARA VERSION 1.4 ß <<<<<<<<<<<<<<<<<<
-
- (Esta versión no ha sido distribuida)
-
-
- >>>>>>>>>>>>>>> AÑADIDO PARA VERSION 1.5 <<<<<<<<<<<<<<<<<<
-
- Esta es la primera versión que ha dejado de ser ß. Esto supone que es
- razonablemente estable (a mi no se me cuelga desde hace meses, y eso que le
- hago todas las perrerias que puedo :-), que la emulación es (aunque no
- perfecta) más o menos completa y que la ventana de interface es totalmente
- operativa, o sea que todo lo que sale en la ventana sirve para algo coherente.
- Esto no significa que deje de desarrollar el emulador. Seguiré mejorando el
- interface y la emulación (NO TE QUEPA DUDA!!).
-
- Esta versión no incorpora ninguna mejora en la emulación (estoy pendiente de
- conseguir la memoria FAST para las pruebas de tiempo real) pero sí en el uso
- del programa. Tiene un puerto ARexx con 44 funciones que permiten hacer
- cualquier cosa, como grabar la pantalla en IFF, ensamblar/desensamblar código
- Z80 sobre la memoria del Spectrum, convertir el formato de grupos de ficheros
- o sacar los listados BASIC de la memoria del spectrum. En una versión futura
- tengo previsto añadir la posibilidad de ejecutar código Z80 paso a paso. Los
- scripts ARexx se arrancan desde la ventana de control mediante un requester de
- ficheros.
-
- Además ya puede comprimir los programas con powerpacker en el momento de
- grabarlos a disco, puede seleccionar dos paths separados (uno para carga y otro
- para grabación), el requester de ficheros de adapta a la altura de la pantalla,
- la ventana del emulador es una appwindow, el emulador admite la carga de ROMs
- externas (añadido en la versión 1.4 ß) y permite ejecutar comandos antes y
- después de la emulación (ideal para activar/desactivar los cachés del
- procesador).
-
- Si quieres ensamblar código Z80 sobre la memoria del Spectrum solo debes
- hacer el script ARexx adecuado y usar un ensamblador cruzado de Z80 (como el
- CAZ de Carsten Rose, que está en el CD-ROM FrozenFISH).
-
- Además he incluido con el paquete una versión OCS/ECS del emulador. Es una
- versión de prueba pero creo que funciona bién. En caso de problemas,
- comunícamelo para que pueda arreglarlos.
-
-
- >>>>>>>>>>>>>>> AÑADIDO PARA VERSION 1.6 <<<<<<<<<<<<<<<<<<
-
- Esta versión es la primera SHAREWARE. Esto es debido a la burrada de tiempo
- que me absorbe el emulador, y a los gastos que me supone distribuir
- adecuadamente éste para que llegue a los usuarios, y conseguir información para
- el desarrollo del emulador. Con esta contribución estás asegurando el
- desarrollo y mejora posterior del emulador.
-
- Esta nueva versión (1.6) añade un comando ARexx para desensamblar
- instrucciones Z80 de la memoria del spectrum, puede desviar los comandos
- LOAD/SAVE de la ROM del spectrum hacia disco (ideal para juegos multicarga),
- admite la carga de programas en formato Z80 (tanto el formato antiguo como el
- moderno), se pueden arrancar juegos desde el icono de estos (poniendo el
- emulador como Default Tool), arregla unos pocos problemas (como el del teclado
- con el Profanation) y es más legal con el sistema.
-
- También incluye un script ARexx para desensamblar porciones de memoria y
- otro para descomponer ficheros .TAP.
-
- Esta es, probablemente, la última versión solo 48k. En el momento de
- escribir esto, ya tengo una pre-versión del emulador con el +3BASIC
- funcionando... ;-)
-
-
- >>>>>>>>>>>>>>> AÑADIDO PARA VERSION 1.6b <<<<<<<<<<<<<<<<<<
-
- Versión creada tras descubrir un error en la carga de algunos programas en
- formato Z80 (un bug! esto no puede ser!!). Para justificar una nueva versión le
- he añadido además 10 comandos ARexx nuevos (entre ellos el ZXAMTrace() que
- permite ejecutar instrucciones paso-a-paso, y el ZXAMBreakPoint() con la que
- puedes poner puntos de ruptura en los programas), puede cargar programas en
- formato KGB y arregla el problema del Sabre Wulf con el rinoceronte. Con el
- emulador se incluye un script ARexx (Monitor.zxam, creado por Leonardo Cocaña
- Galán) que muestra algunas de las posibilidades del puerto ARexx para crear
- desensambladores/monitores.
-
- Para sacar esta versión he interrumpido el desarrollo de la versión 128k,
- pero vuelvo a estar en ello...
-